package com.ysd.lis.entity.inv;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ysd.lis.entity.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.sql.Timestamp;

/**
 * <p>
 * 设备管理-设备类型
 * </p>
 *
 * @author prs
 * @since 2024-09-21
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("INV_REAGENT_STOCK")
public class InvReagentStock extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 仓库编号
     */
    @TableField("STORE_CODE")
    private String storeCode;

    /**
     * 商品编号
     */
    @TableField("REA_NO")
    private String reaNo;


    /**
     * 生产商
     */
    @TableField("MANUFACTURER_NO")
    private String manufacturerNo;

    /**
     * 在库数量
     */
    @TableField("QUANTITY")
    private Double quantity;
    /**
     * 入库数量
     */
    @TableField("IN_QUANTITY")
    private Double inQuantity;
    /**
     * 出库数量
     */
    @TableField("OUT_QUANTITY")
    private Double outQuantity;

    /**
     * 批号
     */
    @TableField("BATCH_NUM")
    private String batchNum;


    @JsonFormat(pattern = "yyyy-MM-dd", timezone="GMT+8")
    @TableField(fill = FieldFill.UPDATE)
    private Timestamp produceDate;
    @TableField(fill = FieldFill.UPDATE)
    @JsonFormat(pattern = "yyyy-MM-dd", timezone="GMT+8")
    private Timestamp expiryDate;

    /**
     * 唯一标识符
     */
    @TableField("UNIQUE_CODE")
    private String uniqueCode;

    /**
     * 单价
     */
    @TableField("PRICE")
    private Double price;
    /**
     * 金额
     */
    @TableField("COSTS")
    private Double costs;

    /**
     * 订单信息id
     */
    @TableField("ORDER_INFO_ID")
    private String orderInfoId;

    /**
     * 订单信息id
     */
    @TableField("ORDER_REAGENT_ID")
    private String orderReagentId;
    /**
     * 序号
     */
    @TableField("SEQ")
    private Integer seq;

    /**
     * 单位
     */
    @TableField("UNIT")
    private String unit;

    @TableField(exist = false)
    private String reaNa;

    @TableField(exist = false)
    private String manufacturerName;

    @TableField(exist = false)
    private String storeName;

    @TableField(exist = false)
    private String specModel;

    @TableField(exist = false)
    private String reaClassNo;

    @TableField(exist = false)
    private String categorizeName;

    @TableField(exist = false)
    private Double maxStock;

    @TableField(exist = false)
    private Double miniStock;

    @TableField(exist = false)
    private Double overrunNum;


    @TableField(exist = false)
    private Integer expirDay;

}
